At least certain embodiments of the invention relate to data structures created and/or maintained by an operating system for application programs such as user application programs.
Certain operating systems maintain data structures for use by application programs such as word processing programs, email programs, spreadsheet programs, web browser programs, graphics creation programs, database programs, personal information (e.g. calendar and/or contacts) management programs, PDF viewer programs, etc. These data structures may include one or more files in one or more subdirectories of a file system or may include one or more databases used by the application programs or an operating system. For example, the Windows Operating System (OS) from Microsoft Corporation of Redmond, Wash., such as the Windows XP OS, maintains a registry which is a database of program registration entries and/or configuration data managed in kernel memory space by the Windows OS kernel. The Windows registry is a well known feature of the Windows OS. The configuration data in the Windows registry is used by the application programs and/or the Windows OS when the application program is run on the Windows OS or when the application program, written for the Windows OS, is run on another OS (e.g. a Unix OS) with or without a copy of the Window OS. Further examples of such data structures include the input/output registry for drivers maintained by Macintosh OS 9 software and the launch services database in Macintosh OS 10.4 or 10.5, which database is used to bind files to an application.
Application programs written or designed to run on the Windows OS can also be run on other operating systems such as a Unix OS or the Macintosh OS. Software known as Parallels and VMWare allow such application programs to run on the Macintosh OS; in the case of both Parallels and VMWare, such application programs run on a copy of the Windows OS which in turn is run on the Macintosh OS. In this case both the Windows OS and the Macintosh OS are executing along with such application programs. The Windows registry in this case is maintained by the Windows OS in the conventional fashion. Such application programs can also be run on a non-Windows OS (e.g. Unix OS or Macintosh OS) without a copy of a Windows OS. For example, Wine (see www.winehq.org) creates an environment to execute applications written for the Windows OS without needing a copy of the Windows OS; in other words, the Windows OS software need not be executing and need not be present on the system running Wine. Wine maintains a Windows registry for use by such application programs in the conventional manner. Further information about Wine can be found at the website: www.winehq.org.